package com.xb.loan.usercenter.account.dao;

import com.xb.loan.usercenter.account.dao.bean.CouponInfo;
import com.xb.loan.util.mybatis.MyBatisRepository;

import java.util.List;
import java.util.Map;

@MyBatisRepository
public interface CouponInfoDao {
	int insert(CouponInfo record);

	int deleteAccountCoupon(String accountId);

	int deductMoney(CouponInfo record);

	/**
	 * 修改礼券账户信息
	 * @param record 可包含字段couponId、partnerId、feeType、
	 * startTime、endTime、status
	 * @return
	 * 2015年9月24日 by wenju.song
	 */
	int updateAccountCoupon(Map<String, Object> params);

	/**
	 * 根据couponId查询礼券账户信息
	 * @param couponId
	 * @return
	 * 2015年9月24日 by wenju.song
	 */
	CouponInfo queryCouponInfoById(String couponId);
	
	/**
	 * 查询礼券账户信息
	 * @param params 可包含字段accountId、activitiesId、couponId、
	 * startDate、endDate、pageNum、numPerPage
	 * @return
	 * 2015年9月24日 by wenju.song
	 */
	List<CouponInfo> queryCouponInfo(Map<String, Object> params);

	int queryCouponInfoCount(Map<String, Object> params);

	/**
	 * 扣费冲正
	 * @param flushesParams
	 */
	void flushes(Map<String, Object> flushesParams);
}